Communication between devices in a network is achieved by communicating data along a path created by connecting a number of intermediate communication devices. The devices are usually grouped into networks of interconnected sub-networks, themselves comprising other sub-networks.
The data exchange between two adjacent devices in the network is achieved by connecting a transmission media, such as copper wire or optical fiber, from a communication port on one device to a communication port on another device and sending the data between the devices in accordance with the addresses allocated to the ports of the devices on network nodes.
One way to perform the selection and allocation of addresses for communication ports on a node is for the network administrator to decide and allocate addresses manually. Creating a network of nodes with unique addresses requires specialized knowledge and planning time to ensure there are no conflicting addresses. The process of configuring each node with the associated addresses is a time-consuming and error-prone manual task.
Another way for allocating and distributing addresses in a network is for one device in the network to act as an address server. In this approach, a newly introduced node in the network requests and receives an address from the server according to a protocol used by the node and the address server. This approach has the advantage of eliminating the need for address management by the network administrator. However, this approach has a disadvantage of requiring installation and maintenance of additional hardware in the network and software on the server and on each network node, as well as the financial cost of the additional hardware and software. It also provides allocation of device addresses in a random order which is not convenient and/or suitable in many situations.
Yet another approach for allocation of a unique address for a network device is for nodes to generate their own addresses, based on information relevant to the node, e.g. linked to the node's unique hardware. In order to ensure that generated addresses are unique, an identifier specific to the node and recognized by the node is used as the basis for generating the node's addresses. For example, the Institute of Electrical and Electronic Engineers (IEEE) 802 Ethernet address commonly found in network interface cards could be used as a basis for allocation of the addresses. Usually, such a system is combined with a network address server to check the addresses assigned on different nodes and to avoid conflicts between the addresses. The disadvantages of this method are that it requires a specialized hardware on the node and may require the address server in the network, and the addresses generated by one node are not related to those generated by another node, and in this sense are arbitrary, which is not suitable for many situations in the management of telecommunications networks.
Therefore, there is a need in the industry for the development of an improved method for allocation of addresses to the devices in a communications network, which would be cheaper, more efficient and would avoid the above-mentioned drawbacks.